﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Veracruz.Trading
{
  /// <summary>
  /// the definition of an Item
  /// </summary>
  interface IItemInfo
  {
    /// <summary>
    /// Name of the item
    /// </summary>
    string Name { get; set; }
    /// <summary>
    /// A brief description that details the item
    /// </summary>
    string Description { get; set; }
    /// <summary>
    /// The category of the Item
    /// </summary>
    IItemCategory Category {get; set;}
    /// <summary>
    /// Describe sthe availabity of the item total and current.
    /// </summary>
    IItemAvailability Availability { get; set; } 
    /// <summary>
    /// 
    /// </summary>
    IList<ISlotInfo> Spaces { get; }

    /// <summary>
    /// List of prerequisites that must be satisfied by a Slot in order to hold correctly such item
    /// </summary>
    IList<SlotPorpertyKind> ContainerRequirements { get; }
    //TODO: Think about degradation...
    
    /// <summary>
    /// an arbitrary unit which describes the volume taken by the Item, no real unit
    /// </summary>
    int Size { get; set; }
  }
}
